package com.hliushi.hotel.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hliushi.hotel.entity.Hotel;
import com.hliushi.hotel.web.vo.PageResult;
import com.hliushi.hotel.web.vo.RequestVO;

import java.util.List;
import java.util.Map;

public interface IHotelService extends IService<Hotel> {
    PageResult search(RequestVO params);

    PageResult search(RequestVO params, Boolean filter);


    /**
     * 查询城市, 星级, 品牌的聚合结果
     *
     * @param params 请求条件
     * @return 聚合结果, 格式: {"城市": ["上海", "北京", ...], "星级": ["四级", xx], "品牌"}
     */
    Map<String, List<String>> filters(RequestVO params);

    /**
     * 实现酒店搜索页面输入框的自动补全
     * #
     * 前端页面, 当我们在输入框关键字时, 前端会发起ajax请求, 获取自动补全的list
     *
     * @param prefix 搜索关键字
     * @return List
     */
    List<String> getSuggestion(String prefix);

    void insertById(Long id);

    void deleteById(Long id);
}
